home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Die Speccy' 97
/
Die Speccy' 97.iso
/
amiga_system
/
the_aminet
/
comm
/
bbs
/
amms20d.lha
/
amms
/
menu
/
Commu.bat
next >
Wrap
DOS Batch File
|
1994-05-07
|
6KB
|
216 lines
; $VER: 1.01 / 12.02.1994
; Kommunikations-Menue
; --------------------
; Im Menu ist Command-Bit 6 gesetzt. Deshalb kann der User definiert
; auf Befehle zugreifen, auf die er normalerweise keinen Zugriff hat.
; Die Variable COM wird zum Erkennen von Fehlern benutzt. Tritt ein
; Fehler auf, so wird in die Routine SAVE_ERROR verzweigt, die den Fehler
; im File mbdat:menu.err protokolliert.
; Die Variable JUMP wird zum eventuellen Sprung von einem Untermenue zum
; anderen benutzt, ohne das Hauptmenue dazwischen aufzurufen. In dieser
; Variable muss dann das entsprechende Label des Untermenues stehen.
; Soll kein Schnell-Wechsel stattfinden, so darf die Variable JUMP nicht
; geaendert werden.
;
;
; **** Kommunikations-Menue
;
MENU="Communication" ; Name des Menues
COM="MENU" ; Menupunkt in Variable COM speichern
_on error SAVE_ERROR ; Beim Fehler -> Fehlerbehandlungsrou.
; Einige Texte in Variablen holen
; In dieser Batchdatei werden globale Variablen erzeugt, deren Inhalt
; fuer einige Promptausgaben des Menues genutzt werden.
; Diese globalen Variablen werden in der End-Routine END wieder geloescht.
_disk execute/keep "menu:'{ALANGUAGE}'/commu.bat"
; Menuetext ausgeben und Tasten abfragen
MENU:
COM="MENU" ; Menupunkt in Variable COM speichern
COMNAME="Communication-Menu" ; WHO-Befehlsname setzen
_menu/file "menu:'{ALANGUAGE}'/commu.txt" -
"^R" MENU - ; Bildschirm erneuern
"1" PMSGON - ; PMSGs AN
"2" PMSGOFF - ; PMSGs AUS
"3" MSGON - ; Messages AN
"4" MSGOFF - ; Messages AUS
"B" CLI - ; Befehleebene
"C" WCHAT - ; WCHAT
"F" FCHAT - ; FCHAT
"M" MESSAGE - ; nachricht an Port
"P" PMSG - ; Privat-Nachricht
"Q" MAIN - ; Main-Menue
"T" TURBO - ; Turbo-Messages
"W" WHO - ; Wer ist Online
"X" XCHAT ; XCHAT
;
; **** Endroutine
; **** Diese Routine muss fuer das Beenden des Menues aufgerufen werden.
;
END:
_eod ; Ende
;
; **** Privat-Nachrichten-Empfang anstellen
;
PMSGON:
COM="PMSG ON" ; Menupunkt setzen
_pmsg/on ; Privatnachrichten-Empfang an
_goto MENU ; -> Menue
;
; **** Privat-Nachrichten-Empfang ausstellen
;
PMSGOFF:
COM="PMSG OFF" ; Menupunkt setzen
_pmsg/off ; Privatnachrichten-Empfang aus
_goto MENU ; -> Menue
;
; **** Message-Empfang anstellen
;
MSGON:
COM="MESSAGE ON" ; Menupunkt setzen
_message/on ; Message-Empfang an
_goto MENU ; -> Menue
;
; **** Message-Empfang ausstellen
;
MSGOFF:
COM="MESSAGE OFF" ; Menupunkt setzen
_message/off ; Message-Empfang aus
_goto MENU ; -> Menue
;
; **** Rueckkehr in die Befehlsebene
;
CLI:
COM="CLI" ; Menupunkt setzen
JUMP=="CLI" ; Einsprunglabel im Main-Menue setzen
_goto END ; Ende der Batchdatei
;
; **** WCHAT starten
;
WCHAT:
COM="WCHAT" ; Menupunkt setzen
COMNAME=COM ; WHO-Befehlsname setzen
_wchat ; WCHAT starten
_goto MENU ; -> Menue
;
; **** FCHAT starten
;
FCHAT:
COM="FCHAT" ; Menupunkt setzen
COMNAME=COM ; WHO-Befehlsname setzen
_fchat ; FCHAT starten
_goto MENU ; -> Menue
;
; **** Message an einen anderen Port verschicken
;
MESSAGE:
COM="MESSAGE" ; Menupunkt setzen
COMNAME=COM ; WHO-Befehlsname setzen
_echo/nolf "#RESET##HOME##CLS#" ; Bildschirm loeschen
_show ports ; Portliste anschauen
_input/command/maxlength=12 PORT PR_PORT ; Portname eingeben
_if PORT == "" then _goto MENU ; Kein Portname ? Ja -> Menue
_input/command/maxlength=30 MSG PR_MSG ; Message eingeben
_if MSG == "" then _goto MENU ; Keine message ? Ja -> Menue
_on error/ignore ; Fehler ignorieren
_message "'PORT'" MSG ; Message an einen Port senden
_on error SAVE_ERROR ; Beim Fehler -> Fehlerbehandlungsrou.
_gosub WAIT ; Aus Taste warten
_goto MENU ; -> Menue
;
; **** Message an einen anderen Port verschicken
;
PMSG:
COM="PMSG" ; Menupunkt setzen
COMNAME=COM ; WHO-Befehlsname setzen
_echo/nolf "#RESET##HOME##CLS#" ; Bildschirm loeschen
_input/command/maxlength=20 USER PR_USER ; Username eingeben
_if USER == "" then _goto MENU ; Kein Portname ? Ja -> Menue
_echo ; Eine Leerzeile ausgeben
_pmsg "'USER'" ; PMsg verschicken
_gosub WAIT ; Aus Taste warten
_goto MENU ; -> Menue
;
; **** Main-Menue
;
MAIN:
COM="MAIN" ; Menupunkt setzen
_goto END ; Ende der Batchdatei
;
; **** Turbo-Message
;
TURBO:
COM="TM" ; Menupunkt setzen
COMNAME=COM ; WHO-Befehlsname setzen
_echo/nolf "#RESET##HOME##CLS#" ; Bildschirm loeschen
_TM ; Turbo-Message starten
_goto MENU ; -> Menue
;
; **** Portliste mit Usern anschauen
;
WHO:
COM="WHO" ; Menupunkt setzen
COMNAME=COM ; WHO-Befehlsname setzen
_echo/nolf "#RESET##HOME##CLS#" ; Bildschirm loeschen
_show ports/all ; Portliste anschauen
_gosub WAIT ; Aus Taste warten
_goto MENU ; -> Menue
;
; **** XCHAT starten
;
XCHAT:
COM="XCHAT" ; Menupunkt setzen
COMNAME=COM ; WHO-Befehlsname setzen
_xchat ; WCHAT starten
_goto MENU ; -> Menue
;
; **** SUBROUTINE: Gib einen Infotext aus und warte auf Taste
;
WAIT:
COM_OLD=COM ; Alten Menupunkt retten
COM="WAIT" ; Neuen Menupunkt setzen
_echo/nolf "^J[RETURN]" ; Gib Wartemeldung aus
_waitkey " ^M" ; Warte auf Space oder Return
COM=COM_OLD ; Alten Menupunkt setzen
_return ; Ende der Unterroutine
;
; **** Fehlerbehandlungs-Routine
;
; Die Routine erwartet in der Variable COM den Namen des akt. Menupunkts.
; Sie protokolliert im File mbdat:menu.err die Fehler des Menues.
;
SAVE_ERROR:
_on error/ignore ; Alle Fehler ignorieren
_extern echo >>mbdat:menu.err "------------------"
_extern echo >>mbdat:menu.err "Fehler im Menu"
_extern echo >>mbdat:menu.err "Menu : 'MENU'"
_extern echo >>mbdat:menu.err "Punkt: 'COM'"
_extern echo >>mbdat:menu.err "User : '{NAME}'"
_extern echo >>mbdat:menu.err "Datum: '{DATE}'"
_extern echo >>mbdat:menu.err "Zeit : '{TIME}'"
_extern echo >>mbdat:menu.err "------------------"
_disk text "menu:'{ALANGUAGE}'/Error.txt" ; Fehlertext anzeigen
_waitkey " ^M"
_if COM == "Menu" then _goto END ; Wenn Fehler im Menue -> Main-Menue
_goto MENU ; -> Menue